using AiQiuQuan.Sport.Model.Enums;

namespace AiQiuQuan.Sport.Model.Models
{
    /// <summary>
    /// dto
    /// </summary>
    public class ActivityDto
    {
        /// <summary>
        /// 编号
        /// </summary>
        public Guid ID { get; set; }

        /// <summary>
        /// 活动名称
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 省份ID
        /// </summary>
        public Guid? ProvinceId { get; set; }

        /// <summary>
        /// 省名
        /// </summary>
        public string? ProvinceName { get; set; } = "全部";

        /// <summary>
        /// 城市ID
        /// </summary>
        public Guid? CityId { get; set; }

        /// <summary>
        /// 城市名称
        /// </summary>
        public string? CityName { get; set; } = "全部";

        /// <summary>
        /// 地点
        /// </summary>
        public string Address { get; set; }

        /// <summary>
        /// 经度
        /// </summary>
        public decimal Lng { get; set; }

        /// <summary>
        /// 纬度
        /// </summary>
        public decimal Lat { get; set; }

        /// <summary>
        /// 开始日期
        /// </summary>
        public DateTimeOffset StartDate { get; set; }

        /// <summary>
        /// 周几
        /// </summary>
        public string DayOfWeek => StartDate.DayOfWeek.WeekDayToString();

        /// <summary>
        /// 开始时间: 08:00
        /// </summary>
        public string StartTime { get; set; }

        /// <summary>
        /// 结束时间：18:00
        /// </summary>
        public string EndTime { get; set; }

        /// <summary>
        /// 参赛人数
        /// </summary>
        public int LimitCount { get; set; }

        /// <summary>
        /// 金额
        /// </summary>
        public decimal Amount { get; set; }

        /// <summary>
        /// 活动图片URl
        /// </summary>
        public string? ImgUrl { get; set; }

        /// <summary>
        /// 说明
        /// </summary>
        public string? Remark { get; set; }

        /// <summary>
        /// 活动状态：1报名中、3进行中、4已结束、9已取消
        /// </summary>
        public GameStateEnum State { get; set; }

        /// <summary>
        /// 报名总数
        /// </summary>
        public int TotalCount { get; set; }

        /// <summary>
        /// 组织者
        /// </summary>
        public string Host { get; set; }

        /// <summary>
        /// 组织者电话
        /// </summary>
        public string Phone { get; set; }

        /// <summary>
        /// 组织者logo
        /// </summary>
        public string Logo { get; set; }

        /// <summary>
        /// 俱乐部ID
        /// </summary>
        public Guid? ClubId { get; set; }

        /// <summary>
        /// 是否俱乐部创建
        /// </summary>
        public bool IsClub { get; set; }

        /// <summary>
        /// 活动用户列表(详情界面返回)
        /// </summary>
        public List<ActivityUserSimpleDto> ActivityUserList { get; set; } = new List<ActivityUserSimpleDto>();

        /// <summary>
        /// 距离
        /// </summary>
        public double Distance { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTimeOffset? CreateTime { get; set; }
    }
}
